Zum Hauptinhalt springen

MLOps Initialisierung

·511 Wörter·3 min
ClearML MLOps Python Data Scientist Deep Learning Random Forest Scikit Learn Klassifizierung Maschinelles Lernen PyTorch Numpy OpenCV Nvidia Triton Docker Bereitstellung AWS Cloud Git

In diesem Projekt wurde eine MLOps Plattform mit ClearML implementiert, um den kompletten Lebenszyklus von Machine Learning Modellen effizient zu verwalten. ClearML wurde ausgewählt, weil es alle nötigen Features mit sich bringt, um eine robuste und flexible MLOps Umgebung zu schaffen. Zu den wesentlichen Funktionen gehören Experiment Tracking, eine Model Registry, Model Serving, Remote Training, Hyperparameter Optimization, und zusätzlich ist die Plattform Open Source.

Planung und Auswahl der MLOps Software #

Der erste Schritt im Projekt bestand in der sorgfältigen Planung und Auswahl der geeigneten MLOps Software. Dafür wurde eine Vergleichsanalyse zwischen verschiedenen Optionen wie ClearML, mlflow und anderen durchgeführt. Eine gewichtete Entscheidungsmatrix half dabei, die Entscheidung zugunsten von ClearML zu fällen, da es alle benötigten Features bietet und sich nahtlos in unsere bestehenden Workflows integrieren lässt.

Installation und Deployment #

Die Installation der ClearML Plattform erfolgte in der AWS Cloud. Ein Orchestrator Node wurde eingerichtet, um die zentrale Steuerung der Plattform zu übernehmen. Zudem wurden zwei GPU Worker Nodes und eine CPU Worker Node installiert, um rechenintensive Trainingsjobs auszuführen.

Alle Komponenten wurden als Docker-Container implementiert, was eine flexible und skalierbare Deployment-Strategie ermöglichte. Die GPU Worker Nodes dienten dem Training der Modelle, während Nvidia Triton für optimiertes Modell-Serving verwendet wurde.

graph TB A[Orchestrator Node] --> B[GPU Worker Node 1] A --> C[GPU Worker Node 2] A --> F[CPU Worker Node] A --> D[Nvidia Triton] E[Entwicklungs-PC] --> A

Der Data Scientist entwickelt so lokale auf seinem PC, auf dem die Experimente vorbereitet und initial getestet werden. Sobald die Experimente bereit für das Training waren, wurden sie auf die GPU Worker Nodes in der AWS Cloud verschoben. ClearML ermöglichte dabei eine nahtlose Integration zwischen lokaler Entwicklung und dem Training auf einem GPU-Cluster, was die Effizienz erheblich steigerte.

Beispiel Experimente #

Zur Verprobung der neuen Umgebung wurden zwei Beispielhafte Experimente ausgeführt.

Brustkrebserkennung mit Random Forest #

Das erste Beispiel-Experiment befasste sich mit der Erkennung von Brustkrebs mittels eines Random Forest Modells. Die Daten wurden vorbereitet und das Modell wurde lokal entwickelt. Anschließend wurde das Experiment auf der CPU Worker Node in der AWS Cloud trainiert, wobei ClearML für das Experiment Tracking und die Hyperparameter Optimierung eingesetzt wurde.

Facial Expression Recognition mit Deep Learning #

Das zweite Experiment konzentrierte sich auf die Erkennung von Gesichtsausdrücken mittels Deep Learning. Ein tiefes neuronales Netzwerk wurde verwendet, um verschiedene Emotionen in Gesichtsbildern zu klassifizieren. Auch hier spielte ClearML eine zentrale Rolle, indem es das Training auf den GPU Worker Nodes orchestrierte und das Modell anschließend im Model Registry registrierte.

Fazit #

Durch die Implementierung von ClearML als MLOps Plattform konnte eine effiziente und skalierbare Umgebung geschaffen werden, die den gesamten ML-Lebenszyklus abdeckt. Die Plattform erwies sich als äußerst nützlich für die Automatisierung und Nachverfolgbarkeit von Experimenten, und ermöglichte es, komplexe Modelle effizient zu entwickeln, zu trainieren und zu deployen. Mit ClearML als zentrale Lösung konnte der gesamte Workflow von der Entwicklung bis zum Produktiveinsatz erheblich optimiert werden.

Tätigkeiten #

  • Projektplanung und Organisation
  • Auswahl der MLOps Plattform mittels gewichteter Entscheidungsmatrix
  • Deployment der ClearML-Anwendung in der AWS
  • Konfiguration mehrerer Worker-Instanzen (CPU, GPU)
  • Erprobung der Plattform mit Machine-Learning-Projekten (Random Forest, Deep Learning)
  • Präsentation und Vorstellung der Plattform